Skip to content

3. Java基础语法

3.1 注释

  1. 注释是什么
    • 写在程序中对程序进行解释说明的文字
  2. 注释的几种方式是?
    • 单行注释: //
    • 多行注释: /* */
    • 文档注释:/** */
  3. 快捷键
    • 单行注释:ctrl + /
    • 多行注释:ctrl + shift + /

3.2 字面量

字面量就是数据在程序中的书写格式

常见的书写格式(数据类型?)

  1. 整数: 5, 10
  2. 小数: 5.5
  3. 字符(必须用单引号,且只能有一个字符):'a', '你好'
  4. 字符串(必须用双引号):'aaaaa', '你好吗?'
  5. 布尔值:true or false

3.3 变量 Var

什么是变量

  • 定义:变量是用来记住程序要处理的数据的。

  • 变量的格式:

数据类型 变量名称 = 数据;

int age = 18;

变量格式的定义:

  1. 数据类型:限制只能存储某种类型的数据形式,如例子中的int,表示只能存储整型
  2. 变量名称:首字母建议小写,大小写敏感
  3. 数值:变量的具体内容

变量在计算机中的执行原理

变量就是内存中的一块区域,类似于一个装东西的盒子。

变量的特点

  • 变量中的数据可以被替换(重新赋值)

3.4 使用变量的几个注意事项

注意事项:

  1. 变量要先声明才能使用
  2. 变量的类型要明确
  3. 同一个作用域,变量名称不能冲突
  4. 变量定义时可以不给初始值

3.5 关键字、标识符

关键字

java中一些有特殊作用的词,例如 class, public, int等等。

关键字不能当作类名,否则报错

标识符

标识符就是名字,例如类名,变量名等。

标识符的组成:数字、字母、_ 和 $

要求:不能以数字开头,不能用关键字做名字,大小写敏感。

3.6 变量详解

变量里的数据在计算机中的的底层原理

  1. 数据在计算机中是如何存储的? 采用二进制
  • 字符:字符存的是ASCII码表中对应的数字的二进制形式
  • 图片音频和视频:像素的rgb转为二进制
  1. 如何快速算出一个数的二进制? 除二取余法

  2. 计算机底层表示据的最小单元是什么? 字节,一个字节 === 8个二进制位 1B=8b

数据类型

基本数据类型

总结:

  1. 数据类型分为两种:基础数据类型(4大类8种)以及 引用数据类型
  2. 整数默认为int类型(数字后加上 L/l 变为 long 类型),小数默认double类型(加上F/f 变为 float)

3.7 类型转换

自动类型转换

  1. 为什么要类型转换?

某些情况需要转换

  1. 什么是自动类型转换:类型范围小的变量,可以直接赋值给类型范围大的变量。

例如,int 范围比 byte 大,那么 byte 类型的变量就可以直接赋值给 int 类型的变量。

表达式的自动类型转换

强制类型转换

  1. 什么是强转

    • 默认情况下,大范围类型的变量直接赋值给小范围类型的变量会报错
    • 实在要转也是可以转,如 int i = (byte)b;
  2. 强制类型转换可能出现的问题

    • 数据丢失
    • 小数点丢失

3.8 运算符

基本算数运算符

+ - * / %

需要注意的:

  1. 两个整数做除法,其结果一定是整数,因为最高类型是整数
  2. +号除了计算,也可以连接字符串

自增自减运算符

符号作用
自增 ++放在某个变量前面或者后面,对变量自身的值+1
自减 --放在某个变量前面或者后面,对变量自身的值-1


拓展案例:

java
public class OperatorDemo2 {
    public static void main(String[] args) {
        int c = 10;
        int d = 5;
        int rs3 = c++ + ++c - --d - ++d + 1 + c--;
        System.out.println(rs3);  // 26
        System.out.println(c); // 11
        System.out.println(d); // 5
    }
}

计算过程是什么呢?

赋值运算符

  1. 赋值运算符有哪些
    1. 基本的赋值运算符:=
    2. 扩展的赋值运算符: += -+ *= /= %/
  2. 扩展赋值运算符的作用是什么
    1. +=可以实现数据的累加,把别人的数据加给自己
    2. 扩展的赋值运算符自带强制类型转换

关系运算符

逻辑运算符

三元运算符

写法同JavaScript

案例:Scanner工具

案例:Scanner工具

Released under the MIT License.